package ar.com.binarit.entities

class TipoEvento {

    public static String ALTA_USUARIO = "AltaUsuario"
	public static String NUEVO_VIAJE = "NuevoViaje"
	public static String VIAJE_ELIMINADO = "ViajeEliminado"
	public static String VIAJE_ELIMINADO_A_MEDIAS = "ViajeEliminadoAMedias"
	public static String USUARIO_ELIMINADO = "UsuarioEliminado"
	
	String descripcion
	boolean opcional
	
    static constraints = {
		descripcion(size:1..50)
    }
	
	static mapping = {
	}
	
	String toString() {
		"${descripcion}"
	}
	
	public boolean equals(Object o) {
		try {
			TipoEvento otro = (TipoEvento) o
			return otro.descripcion.equals(o.descripcion)
		} catch (ClassCastException e) {
			return false
		}
	}
	
	public int hashCode() {
		return id.hashCode()
	}
	
	static def altaUsuario() {
		return TipoEvento.findByDescripcion(ALTA_USUARIO)
	}
	
	static def viajeEliminado() {
		return TipoEvento.findByDescripcion(VIAJE_ELIMINADO)
	}
	
	static def usuarioEliminado() {
		return TipoEvento.findByDescripcion(USUARIO_ELIMINADO)
	}
	
	static def viajeEliminadoAMedias() {
		return TipoEvento.findByDescripcion(VIAJE_ELIMINADO_A_MEDIAS)
	}
	
}
